Tableau 2019.1 新機能紹介:Tableau Prep Conductor(Tableau Prepのフローを定期的に自動で実行) #tableau

Tableau 2019.1 新機能紹介:Tableau Prep Conductor(Tableau Prepのフローを定期的に自動で実行) #tableau

フローを手で動かす時代は終わった
Clock Icon2019.02.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

どうも。DI部@大阪オフィスのtamaです。

Tableauのv2019.1がリリースされました。というわけで、引き続き新機能を触っていきたいと思います。

今回は前々から注目されていた機能「Tableau Prep Conductor」を見ていきたいと思います。

Tableau Prep Conductorとは

Tableau Prepが登場し、データの前処理はコードを書かなくてもTableau Prepで処理できるようになりました。ただ、データの前処理というのは、得てして定期的に自動で実行したいものです(元データがどんどん更新されていくから等)。しかし、今までTableau Prepで作成したフローを定期実行するためには、コマンドを書いて、それをタスクスケジューラ等で回すくらいしか方法がありませんでした。

しかし、今回の2019.1で、ついにフロー自体をTableau Serverにパブリッシュできるようになり、さらにTableau Server上でフローを定期実行させることができるようになったのです。うおおおおおお。

Tableau Prepの名称も若干変わる

Tableau Prep Conductorの登場に伴い、今まで「Tableau Prep」と呼称していたアプリケーションは、Tableau Prep Builderという名前に変わりました。

  • Tableau Prep Builder:フローを作成するアプリケーション
  • Tableau Prep Conductor:作ったフローを管理(定期実行など)する機能

…という形になりました。

Tableau Prep Conductorを利用するためのアドオンについて

Tableau Prep Conductorを利用するためには、Tableau Data Management Add-onというアドオンを購入する必要があります。詳細は上記ページをご覧ください。ちなみに、このアドオンは、現在はTableau Prep Conductorのみですが、今後新しい機能が追加されるようです(データカタログ機能など)。

2019 年後半には、Tableau Data Management に新しいカタログ作成機能も追加される予定です。これにより、組織は所有するデータに対する可視性を得られ、エンドユーザーはデータをより簡単に見つけることができるようになります。カタログ作成機能を使用することで、お客様は単一の場所から多数のタイプのデータを検索できるようになります。強化されたメタデータによって追加のコンテキストや詳細も提供されるため、確実に理解し正しいデータを選択していることが分かります。このカタログ機能で優れた可視性を得ることができ、環境を維持するためのより優れた制御を実現できます。これによって時間が節約され、コスト高となる使用ワークブックの破損を回避できます。

Tableau Onlineでも使える?

下記ページでは、Tableau ServerのページにしかData Management Add-onの記述がありません。

また、下記ページでは以下のように書かれています。

The Data Management Add-on is included in the Tableau Server trial, and is available in limited release for current Tableau Online customers.

「一部のユーザーに限定リリース」と読めますが、今のところはとりあえずTableau Onlineユーザー全員にリリースされているわけではなさそうです。ただ、ドキュメント等にはTableau Onlineの記述もありますので、近いうちにTableau Onlineも全面対応することは予想されます。

というわけで、本エントリではTableau Serverで試してみたいと思います。

やってみる

Tableau ServerでTableau Data Management Add-onを有効化する

Tableau Prep Conductorを使用するためには、まずTableau Server側でその機能を有効化する必要があります。手順はTableau Serverのライセンスを有効化する方法と同じです。アドオンを購入している場合、ライセンスキーを確認できるTableauポータルサイトでキーが確認できますので、それをTSMで有効化します。

ライセンス画面でアドオンのキーを入力すると、ライセンス同様、変更の保留状態になるので、Tableau Serverを再起動します。

再起動完了後、ライセンス画面を確認すると、Tableau Prep Conductorの欄が出現。チェックマークが入りました。

プロセスにもTableau Prep Conductorが出現。

Tableau Prep v2019.1からフローをパブリッシュ

フローを用意

SQL Serverにテーブルを用意し、下記のようなフローを作成しました。今回は新機能の検証ということで、とてつもなく意味のないフローとなっています。新日本プロレスというカラムの値に100かけるだけの謎フローです。

フローをパブリッシュしてみる

今までは、パブリッシュといえば「ワークブック」か「データソース」のどちらかをTableau Serverにアップロードすることを指していました。しかし、2019.1から、パブリッシュの対象に「フロー」も加わります!

Tableau Prep上で、Tableau Serverにサインインした後、上部メニューから「フローのパブリッシュ」を選択します。

ワークブックやデータソースをパブリッシュする時と同じような画面が出るので、適当な内容を入力してパブリッシュします。

Tableau Server上で確認

Tableau Serverには、プロジェクト、ワークブック、ビュー、データソースという4つの概念がありましたが、ここにフローというものが加わります。そして、パブリッシュしたフローは下記のようアイコンで表示されました。

中をのぞいてみると、フロー用の画面が表示されます。

実行というアイコンを押すと、パブリッシュしたフローをその場で実行できます。

自動実行の設定

Tableau Prep Conductorの一番の機能は、なんと言ってもフローを定期的に実行させる機能でしょう。

先程の画面の「スケジュールされたタスク」というタブを選択すると、そのフローに設定されているスケジュールが表示されます(まだ未設定なので空欄です)。ここで「新しいタスク」を選びます。

ここらへんは抽出スケジュールを設定するところとほとんど同じです。登録されているスケジュールから適用したいものを選んで、タスクを作成します。

ちなみに、フロー内に出力ステップが複数ある場合、出力したいものを限定することもできるようです。

タスクの追加が完了すると、「スケジュールされたタスク」画面に表示されます。このスケジュールの時間がくるたびに、フローが実行されます。

例えば毎週データが増加するDBがあったとして、増えたタイミングで毎回決まった前処理を行わないといけないという場合、その前処理をTableau Prep Builderで構築・パブリッシュし、Conductor側で、データが増える期日の直後にフローを実行させるようなスケジュールを組めば、今後は意識しなくても、毎週自動で前処理されたデータが出力されます。そのデータをTableau Serverに抽出ファイルとして出力するようにしておけば、そのデータを使ってビューを作った場合、毎週データの中身が更新されるビューを作ることもできそうです。

Tableau DesktopからTableau Server上のデータを利用できるので、Tableau Prepで処理するデータをTableau Serverに出力しておけば、「データ置き場」としても便利にTableau Serverを使用することができます。

ライセンスとの兼ね合い

そもそも、今回行ったTableau Prep Conductorの設定は、何のライセンスのユーザーだと実施できるのでしょうか。

こちらを見る限り、ほとんどの操作はCreatorじゃないとできません。Explorerが唯一できることとして「フローのスケジュール」があります。

おわりに

今までもコマンドで自動実行はできましたが、Tableau Prep Conductorが登場したことによって、より気軽にフローを自動実行できるようになりました。これで増え続けるデータに悩まされることなく、前処理をTableau Prepで作ることができますね。

注意点としては、別途有料という点です。ここは、自分の組織の予算等とよく相談しましょう。

参考

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.